package com.speedchina.common.upload.utils;

import com.speedchina.framework.helper.Assert;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.io.InputStream;

/**
 * @Author xz
 * Data: 2021/7/6
 */
public class MultipartFileToInputStreamUtils {

    public static InputStream excelFileToInputStream(MultipartFile file) throws IOException {
        if (file == null){
            return null;
        }
        Assert.isTrue(file== null, "该文件是空文件！");
        Assert.isTrue(!isExcelFile(file), "文件类型不合法！");
        return file.getInputStream();
    }

    public static InputStream csvFileToInputStream(MultipartFile file) throws IOException {
        if (file == null){
            return null;
        }
        Assert.isTrue(file== null, "该文件是空文件！");
        Assert.isTrue(!isCsvFile(file), "文件类型不合法！");
        return file.getInputStream();
    }

    /**
     * 判断文件类型是否是excle文件
     * author: xz
     * date: 2021/7/6 16:13
     * [file]
     * @return boolean
     */
    public static boolean isExcelFile(MultipartFile file){
        if (file == null) {
            return false;
        }
        String name = file.getOriginalFilename().toLowerCase();
        if(name == null) {
            return false;
        }
        return name.endsWith(".xls") || name.endsWith("xlsx");
    }

    /**
     * 是否是csv文件
     * author: xz
     * date: 2021/7/6 16:17
     * [file]
     * @return boolean
     */
    public static boolean isCsvFile(MultipartFile file){
        if (file == null) {
            return false;
        }
        String name = file.getOriginalFilename().toLowerCase();
        if(name == null) {
            return false;
        }
        return name.endsWith(".csv");
    }


}
